package tx.computing.portal.server;

import org.redisson.spring.starter.RedissonAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Import;
import tx.computing.portal.framework.redis.config.PortalRedisAutoConfiguration;

/**
 * 项目的启动类
 * //为什么要加import呢 PortalRedisAutoConfiguration中的before不起作用，这里显式指定下顺序
 * 在 Spring Boot 中，@AutoConfiguration(before = ...) 并不是一个有效的属性。@AutoConfiguration 注解本身并不支持 before 或 after 属性来控制自动配置的加载顺序。实际上，before 属性是一个不存在的属性，导致其无法发挥作用。
 * Spring Boot 自动配置的加载顺序通常由 类路径和 Spring 的类加载机制 来决定，而不允许通过 @AutoConfiguration 来显式地指定某个配置类在另一个配置类之前或之后加载。
 * @author llzzpp
 */
@SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${portal.info.base-package}
@SpringBootApplication(scanBasePackages = {"${portal.info.base-package}.server", "${portal.info.base-package}.module"})
@Import({PortalRedisAutoConfiguration.class, RedissonAutoConfiguration.class})
public class PortalServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(PortalServerApplication.class, args);
    }

}
